package com.qfedu.repo;

import com.qfedu.repo.bean.Manager;
import com.qfedu.repo.db.DBUtils;
import com.qfedu.repo.db.PstCallback;

import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Main {
    public static void main(String[] args) {
        //1、sql语句
        String sql = "insert into manager(account,password,phone,level,remark) values(?,?,?,?,?)";
        //2、调用执行
        Manager admin = new Manager();
        admin.setAccount("admin");
        admin.setPassword("11111111");
        admin.setPhone("13191232696");
        admin.setLevel("level2");
        admin.setRemark("二级管理员");
        //匿名内部类充当回调函数
//        PstCallbackImpl impl = new PstCallbackImpl();
        int result=DBUtils.executeUpdate(sql, new PstCallback(){

            @Override
            public void pstSetValue(PreparedStatement pst) {
                try {
                    pst.setString(1, admin.getAccount());
                    pst.setString(2, admin.getPassword());
                    pst.setString(3, admin.getPhone());
                    pst.setString(4, admin.getLevel());
                    pst.setString(5, admin.getRemark());
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
            }
        });
        System.out.println(result);

        //3、关闭数据库
        DBUtils.close();
    }

//    static class PstCallbackImpl implements PstCallback{
//
//        @Override
//        public void pstSetValue(PreparedStatement pst) {
//            try {
//                pst.setString(1,"root");
//                pst.setString(2,"12345678");
//                pst.setString(3,"13191232696");
//                pst.setString(4,"level3");
//                pst.setString(5,"超级管理员");
//            } catch (SQLException e) {
//                throw new RuntimeException(e);
//            }
//        }
//    }
}
